#include <bits/stdc++.h>//input:两个正整数
using namespace std;

//bool cmp(vector<int> A,vector<int>B){
// //   if (A.size()>B.size()) return true;
// //   else if (A.size()<B.size()) return false;
// //   else{
//     if (A.size()!=B.size()) return A.size()>B.size();//好美啊

//       for(int i=A.size()-1;i>=0;i--)
//           if (A[i]!=B[i]) return A[i]>B[i]; //好美啊
//         //   if (A[i]>B[i]) return true;
//         //   else if (A[i]<B[i]) return false; 
      
//     return true;//A=B
  
// }
bool cmp(vector<int> A,vector<int> B){
    if (A.size()!=B.size()) return A.size()>B.size();
    for(int i=A.size()-1;i>=0;i--){
        if (A[i]!=B[i]) return A[i]>B[i];
    }
    return true;
}
// 
// 减法:倒序存入数组,A,B>=0,而且A>=B
vector<int> bigSub(vector<int> A,vector<int> B){
    
    vector<int> C;
    int t = 0;///记录本位
    for(int i = 0;i<A.size();i++){
        t = A[i] - t;
        if (i<B.size())
            t = t - B[i];
        C.push_back((t+10)%10); // t = 1-9 = -8 那就是11 - 9 应该是 2 ，同时借1
        if (t<0) t = 1; //借1 下个循环减掉
        else t = 0;
    }
    //要注意，如果像1111-1110 = 1 C会是1000 需要把0消除  其余要注意的就是要借位(0,1)的时候下一位要先-掉 . 但也要防止A=B时 A（100）-B（100）=0，这种1位结果的输出 所以要C.size()>1
    while(C.size()>1&&C.back()==0)
        C.pop_back();
    
    return C;
}
int main()
{
    vector<int> A,B;
    string a,b; cin>>a>>b;
    for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');
    for(int i=b.size()-1;i>=0;i--) B.push_back(b[i]-'0');

    if (cmp(A,B)){
        //A>B
        auto C = bigSub(A,B);
        for(int i=C.size()-1;i>=0;i--) cout<<C[i];
        return 0;
    }else{
        auto C = bigSub(B,A);
        cout<<"-";
        for(int i=C.size()-1;i>=0;i--) cout<<C[i];
        return 0;
    }
}
